package com.huanghuang.shuadan.service.user;

import com.huanghuang.shuadan.service.entity.base.PageReqDTO;
import com.huanghuang.shuadan.service.entity.base.Result;
import com.huanghuang.shuadan.service.entity.req.UserRegisterReqDTO;
import com.huanghuang.shuadan.service.entity.req.UsernameReqDTO;
import com.huanghuang.shuadan.service.entity.res.UserResDTO;

/**
 * @Author suxiaoxiao
 * @Date 2019/7/13 21:44
 * @Version 1.0
 */
public interface UserService {

    /**
     * 查询全部用户信息
     * @param pageReqDTO
     * @return
     */
    Result<UserResDTO> queryAllUser(PageReqDTO pageReqDTO);

    /**
     * 根据用户名查询用户
     * @param usernameReqDTO
     * @return
     */
    Result<UserResDTO> selectUserByUsername(UsernameReqDTO usernameReqDTO);

    /**
     * 注册用户
     * @param userRegisterReqDTO
     * @return
     */
    Result<Boolean> registerUser(UserRegisterReqDTO userRegisterReqDTO);

    /**
     * 用户登陆
     * @param userRegisterReqDTO
     * @return
     */
    Result<UserResDTO> login(UserRegisterReqDTO userRegisterReqDTO);

    /**
     * 当前用户信息
     * @param
     * @return
     */
    Result<UserResDTO> info();
}
